home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 April: Mac OS SDK / Dev.CD Apr 98 SDK1.toast / Development Kits (Disc 1) / QuickDraw 3D / Windows files / Q3WinSDK.exe / QD3DSDK / Samples / ViewerSample / Box3DSupport.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-03-22  |  2.4 KB  |  83 lines

  1. // Box3dSupport.c - QuickDraw 3d routines - interface
  2. //
  3. // This file contains
  4. //
  5. // Created 27th Dec 1994, Nick Thompson, DEVSUPPORT
  6. //
  7. // Modification History:
  8. //
  9. //    12/27/94        nick        initial version
  10.  
  11. #ifndef _BOX3DSUPPORT_H_
  12. #define _BOX3DSUPPORT_H_
  13.  
  14. #include <windows.h>
  15.  
  16. // QuickDraw 3D stuff
  17. #include "QD3D.h"            // QuickDraw 3D lives in here
  18. #include "QD3DIO.h"
  19. #include "QD3DErrors.h"
  20. #include "QD3DMath.h"
  21. #include "QD3DDrawContext.h"
  22. #include "QD3DShader.h"
  23. #include "QD3DTransform.h"
  24. #include "QD3DGroup.h"
  25. #include "QD3DRenderer.h"
  26. #include "QD3DCamera.h"
  27. #include "QD3DLight.h"
  28. #include "QD3DGeometry.h"
  29. #include "QD3DSet.h"
  30. #include "QD3DAcceleration.h"
  31. #include "QD3DStorage.h"
  32. #include "QD3DView.h"
  33.  
  34. #include "QD3DWinViewer.h"
  35.  
  36. enum
  37. {
  38.     kA3BtnZoom        = 1,
  39.     kA3BtnRotate,
  40.     kA3BtnPan
  41. };
  42.  
  43. struct _documentRecord
  44. {
  45.     TQ3Boolean        fControlStripVisible;    // if control strip is visible
  46.     TQ3ViewObject    fView ;                // the view for the scene
  47.     TQ3GroupObject    fModel ;            // object in the scene being modelled
  48.     TQ3StyleObject    fInterpolation ;    // interpolation style used when rendering
  49.     TQ3StyleObject    fBackFacing ;        // whether to draw shapes that face away from the camera
  50.     TQ3StyleObject    fFillStyle ;        // whether drawn as solid filled object or decomposed to components
  51.     TQ3Matrix4x4    fRotation;            // the transform for the model
  52.     TQ3ShaderObject    fIllumination;
  53.  
  54.     HWND            fWindow;            // destination window to blit offscreen buffer onto
  55.     unsigned long    fWidth;
  56.     unsigned long    fHeight;
  57.     HDC                fMemoryDC;            // memory device context for offscreen buffer
  58.     HBITMAP            fBitmap;            // offscreen bitmap to draw into (really a pixelmap)
  59.     void            *fBitStorage;        // storage for bits in offscreen bitmap (pixelmap)
  60.  
  61.     TQ3WinViewerObject    fViewer;
  62.  
  63.     unsigned long    fViewerMode;        /* which button is active */
  64.  
  65.     TQ3Boolean        fMouseDown;
  66. };
  67.  
  68. typedef struct _documentRecord DocumentRec, *DocumentPtr ;
  69.  
  70. //---------------------------------------------------------------------------------------
  71.  
  72. TQ3ViewObject             MyNewView(DocumentPtr theDocument) ;
  73. TQ3DrawContextObject    MyNewDrawContext(DocumentPtr theDocument) ;
  74. TQ3CameraObject         MyNewCamera(DocumentPtr theDocument) ;
  75. TQ3GroupObject            MyNewLights(void) ;
  76. TQ3GroupObject             MyNewModel(void) ;
  77.  
  78. void pvCamera_Fit(DocumentPtr theDocument);
  79. void pvBBoxCenter(TQ3BoundingBox *bbox, TQ3Point3D *center);
  80. void pvBBox_Get(DocumentPtr theDocument, TQ3BoundingBox *bbox);
  81.  
  82. #endif
  83.